The present invention relates generally to ringback detection circuits for communication terminals and, more particularly, to an adaptive ringback detection circuit that dynamically updates thresholds used for ringback detection.
Ringback is a tone heard by the user of a communication terminal that initiates a call until the call connects. Typically, the ringback is composed of two or more different tones, but single tone ringbacks are known. There is no standard for ringback frequency and cadences. For example, a typical PBX can be configured to generate different tones and cadences according to customer preferences. The wide variety in the composition of ringback tones makes the task of detecting ringback more difficult.
If not detected, ringback may cause problems for adaptive algorithms, such as a voice activity detector (VAD), noise suppressor, acoustic echo canceller (AEC), network echo canceller (NEC), noise estimator, and channel gain estimator. Voice activity detectors treat ringback as noise after a few hundred milliseconds when they should continue to indicate voice. The voice activity detector, in turn, controls the noise suppressor so that the noise suppressor trains only when there is no voice. If the voice activity detector mistakes ringback for noise, this mistake will cause the noise suppressor to train, also by mistake, on ringback. When voice follows ringback, the voice activity detector may not detect such voice because its internal noise threshold is too high.
Ringback can also cause false training in the acoustic echo canceller and network echo canceller. False training occurs when the acoustic echo canceller and network echo canceller diverge due to ambiguity caused by the cross correlation between the two inputs being high at multiples of the period of the ringback. Also, at the beginning of the call, the network linear echo canceller is not trained, so the network residual echo suppressor (NNLP, for network non-linear processor) removes all of the network echo at this point. The NNLP can cut out or distort the ringback signal.
Another problem with ringback occurs in phones with noise estimators. Noise estimators are used to generate comfort noise during periods when speech is not present. Ringback may cause the noise estimator to generate a high estimate of noise because the ringback has high amplitude and continues for several seconds. Since the noise estimate is used by the comfort noise generator, the comfort noise may be initially high and decay when ringback ends. This can be an annoyance to the user.
In some circumstances, ringback may cause an error in channel gain calculation. This problem may occur when the ringback is a single tone and its frequency coincides with one of the nulls of the transfer function of the echo path causing the channel gain estimator to think that the gain of the channel is 0.
Like ringback, other tones can cause problems for adaptive algorithms. For example, dual tone multi-frequency (DTMF) tones can be transmitted when a user accidentally presses keys while engaged in a call. DTMF tones have substantially higher amplitudes than voice signals and cause the same problems as ringback at the receiver.
Ringback detection is not a problem in landline systems, since landline systems (MSC, BSTN, base station, etc.) have information about when the call connects. These landline systems can simply turn off adaptive algorithms until the call connects. A problem may, however, occur when the user is transferred to a different extension. In some office systems, ringback may occur when a call is transferred from one extension to another. In this case, the adaptive algorithms may falsely train on the ringback as previously described.
U.S. Pat. No. 5,450,484 discloses a method for detecting ringback in the downlink signal at a mobile terminal. To briefly summarize, a predetermined number of frames, referred to as a window, are captured. The captured frames are analyzed and ringback declared if three conditions are met: 1) the total energy of the frames in the window is greater than a predetermined threshold for ringback; 2) the number of frames where the frequency of the two largest peaks falls within a predetermined range is greater than a predetermined threshold; and 3) the energy of any frame in that window is above a predetermined minimum threshold. This method, while an improvement over no ringback detection, still has significant drawbacks. Using the method described above, a single tone ringback will not be detected because the second condition will not be satisfied. That is, the ringback detection circuit will not be able to find a second energy peak inside the predetermined frequency range. Also, the use of predetermined thresholds and frequency ranges narrows the detection capability of the ringback detection circuit. For example, ringback frequencies outside the predetermined frequency range will prevent the ringback from being detected by the ringback detection circuit. A similar problem would occur in ringback signals that fail to meet the predetermined thresholds. Finally, the method described in the aforementioned patent delays the decision until a predetermined number of frames are captured and analyzed. By the time that ringback is detected, the adaptive algorithms may already have diverged.